﻿define('ui/card/enviormentCard', 
	['api/enviormentService','ui/card/layerCard'], function(enviormentService,layerCard) {

	/**
	 * 排放量图表选项卡，包含以下功能：
	 * 1、地图上查看地市、区县、企业排放量：排名、占比等
	 * 2、包含的数据：
	 * 1）charts：柱状图表实例化对象
	 * 2）chartsData：柱状图所需的JSON数据
	 */
	var enviormentCard = {

		/**
		 * 实例化图表对象
		 */
		charts: {
			enviormentCityTab:null,
			enviormentAreaTab:null,
			enviormentEnterpriseTab:null
		},
		
		/**
		 * 图表JSON数据
		 */
		chartsData: {
			enviormentCityTab: {
				rows:[]
			},
			enviormentAreaTab: {
				rows: []
			},
			enviormentEnterpriseTab: {
				rows:[]
			},
			
			resetData: function(){
				enviormentCard.chartsData.enviormentCityTab={
					rows: []
				};
				enviormentCard.chartsData.enviormentAreaTab={
					rows: []
				};
			}
		},
		
		/**
		 * 加载数据并赋值给chartsData
		 */
		loadJsonData: function(param) {
			layerCard.showCardItem('enviorment');
			enviormentService.getCityAirRankByIndex(function(data){
				var rows = [];
				for(var i=0; i<data.rows.length; i++) {
					rows.push(data.rows[i]);
				}
				enviormentCard.chartsData['enviormentCardCityTab'].rows = rows;
			});
			enviormentService.getAreaAirRankByIndex(function(data){
				var rows = [];
				for(var i=0; i<data.rows.length; i++) {
					rows.push(data.rows[i]);
				}
				enviormentCard.chartsData['enviormentCardAreaTab'].rows = rows;
			});
			enviormentService.getPointAirRankByIndex(function(data){
				var rows = [];
				for(var i=0; i<data.rows.length; i++) {
					rows.push(data.rows[i]);
				}
				enviormentCard.chartsData['enterpriseAreaTab'].rows = rows;
			});
			enviormentCard.renderTab();
	    },
		
		/**
		 * 重新渲染标签页
		 */
		renderTab:function(data){
			enviormentCard._onTabToggle();
			enviormentCard._onTabShown();
		},
		
		/**
		 * 显示、隐藏排污许可企业信息汇总标签页面板
		 */
		_onTabToggle: function(){
			$("#enviormentLayerList").click(function(){
				$(this).find('div').toggleClass('on');
				$("#enviormentTabDiv").fadeToggle("slow");
				$('#enviormentTab a:first').tab('show');
			});
		},
		
		/**
		 * 标签页显示时触发渲染柱状图，放在
		 */
		_onTabShown:function(){
			$('#enviormentTab>li>a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
				// 获取已激活的标签页的名称
				var activeTab = $(e.target).text(); 
				// 获取前一个激活的标签页的名称
				var previousTab = $(e.relatedTarget).text();
				var divId = $(e.target).attr('href').substring(1);
			});
		},
		
		/**
		 * 基本信息
		 */
		renderCityTab: function(data) {
			$('#enviormentHead').html("2017年SO2年均浓度排名");
			AMapUI.loadUI(['misc/MarkerList'], function(MarkerList) {
				var table = '<table class="table">'+
							'<th>排名</th><th>城市 </th><th>排放量(吨)</th><th>占比(%)</th>'+
							'<% for(var i=0;i < data.rows.length;i++) { %>'+  
								'<tr>'+
									'<td>'+(i+1)+'</td>'+
									'<td>'+'<%- data.rows[i].areaname %>'+'</td>'+
									'<td>'+'<%- data.rows[i].estdata %>'+'</td>'+
									'<td>'+'<%- data.rows[i].eproportion %>'+'</td>'+
								'</tr>'+
							'<% } %>'+
							'</table>';
				var html = MarkerList.utils.template(table, {data: data});
				$("#enviormentCityTab").html("").html(html); 
			});
		},
		
		/**
		 * 排放标准
		 */
		renderAreaTab: function(data) {
			AMapUI.loadUI(['misc/MarkerList'], function(MarkerList) {
				var table = '<table class="table">'+
							'<th>排名</th><th>区县 </th><th>城市 </th><th>排放量(吨)</th><th>占比(%)</th>'+
							'<% for(var i=0;i < data.rows.length;i++) { %>'+  
								'<tr>'+
									'<td>'+(i+1)+'</td>'+
									'<td>'+'<%- data.rows[i].areaname %>'+'</td>'+
									'<td>'+'<%- data.rows[i].areaname %>'+'</td>'+
									'<td>'+'<%- data.rows[i].estdata %>'+'</td>'+
									'<td>'+'<%- data.rows[i].eproportion %>'+'</td>'+
								'</tr>'+
							'<% } %>'+
							'</table>';
				var html = MarkerList.utils.template(table, {data: data});
				$("#enviormentAreaTab").html("").html(html); 
			});
		},
		
		/**
		 * 实时监测数据
		 */
		renderEnterpriseTab: function(data) {
			AMapUI.loadUI(['misc/MarkerList'], function(MarkerList) {
				var table = '<table class="table">'+
							'<th>排名</th><th>企业 </th><th>城市 </th><th>排放量(吨)</th><th>占比(%)</th>'+
							'<% for(var i=0;i < data.rows.length;i++) { %>'+  
								'<tr>'+
									'<td>'+(i+1)+'</td>'+
									'<td>'+'<%- data.rows[i].entername %>'+'</td>'+
									'<td>'+'<%- data.rows[i].areaname %>'+'</td>'+
									'<td>'+'<%- data.rows[i].estdata %>'+'</td>'+
									'<td>'+'<%- data.rows[i].eproportion %>'+'</td>'+
								'</tr>'+
							'<% } %>'+
							'</table>';
				var html = MarkerList.utils.template(table, {data: data});
				$("#enviormentEnterpriseTab").html("").html(html); 
			});
		}
	};
	
	return enviormentCard;
});